﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Plazos
{
    class Semestre : SemestreBD
    {
        public Semestre(){
        }

        public Semestre(String nombreSem, String fechaConvenio)
        {
            base.idSem = 0;
            base.nombreSem = nombreSem;
            base.fechaConvenio = fechaConvenio;
        }

        public Semestre(int idSem, String nombreSem, String fechaConvenio)
        {
            base.idSem = idSem;
            base.nombreSem = nombreSem;
            base.fechaConvenio = fechaConvenio;
        }

        public int IdSem
        {
            get { return idSem; }
            set { idSem = value; }
        }

        public string NombreSem
        {
            get { return nombreSem; }
            set { nombreSem = value; }
        }

        public string FechaConvenio
        {
            get { return fechaConvenio; }
            set { fechaConvenio = value; }
        }

        public string Error
        {
            get { return error; }
            set { error = value; }
        }

        

        public override string ToString()
        {
            string semestre = "idSem:" + idSem +
                "  nombreSem:" + nombreSem +
                "  fechaConvenio:" + fechaConvenio;
            return semestre;
        }

        public Semestre calculaSemestre(String fecha)
        { // debe entrar la fechaInicioLect para calcular el Semestre

            
            DateTime f = Convert.ToDateTime(fecha);
            
            string a; //año 
            Semestre sem = new Semestre();
            Semestre se = new Semestre();
            a = Convert.ToString((int)f.Year);
            string nombsem;
            if (((int)f.Month == 1) || ((int)f.Month == 2) || ((int)f.Month == 3) || ((int)f.Month == 4) || ((int)f.Month == 5) || ((int)f.Month == 6))
            {
                nombsem = "Primero " + a;
                Console.WriteLine("Primer semestre " + a);
                List<Semestre> semestres = sem.getSemestres();
                foreach (Semestre s in semestres)
                {
                    Console.WriteLine("idSem: " + s.IdSem );
                    if (s.nombreSem == nombsem)
                    {
                        Console.WriteLine("nombre = " + s.nombreSem);
                        se = s;
                    }
                }
            }else {
                nombsem = "Segundo " + a;
                Console.WriteLine("Primer semestre " + a);
                List<Semestre> semestres = sem.getSemestres();
                foreach (Semestre s in semestres)
                {
                    Console.WriteLine("idSem: " + s.IdSem );
                    if (s.nombreSem == nombsem)
                    {
                        se = s;
                    }

                }
            }
            
            return se;
            
        }

        public int devuelveIdSem(string nombre) {

            Semestre sem = new Semestre();
            List<Semestre> semestres = sem.getSemestres();

            foreach (Semestre s in semestres) {
                if (s.nombreSem == nombre) {
                    return s.idSem;
                }
            }
            return -1;
        }
    }
}
